import { createApp } from 'vue'
import { createPinia } from 'pinia'
import Vant, { Lazyload } from 'vant'

import App from './App.vue'
import router from './router'

// 检查是否需要重定向到Hash模式
const checkAndRedirectToHash = () => {
  const currentPath = window.location.pathname
  const currentSearch = window.location.search
  const currentHash = window.location.hash

  // 如果当前URL不是Hash模式且路径不是根路径
  if (currentPath !== '/' && !currentHash.startsWith('#/')) {
    console.log('移动端检测到非Hash模式URL，准备重定向:', window.location.href)

    // 构建Hash模式URL
    let newUrl = window.location.origin + '/#' + currentPath
    if (currentSearch) {
      newUrl += currentSearch
    }
    if (currentHash) {
      newUrl += currentHash
    }

    console.log('移动端重定向到Hash模式URL:', newUrl)
    window.location.replace(newUrl)
    return true // 表示进行了重定向
  }

  return false // 表示没有重定向
}

// 检查重定向，如果没有重定向则正常启动应用
if (!checkAndRedirectToHash()) {
  const app = createApp(App)
  const pinia = createPinia()

  // 注册Pinia状态管理
  app.use(pinia)

  // 注册Vant组件
  app.use(Vant)
  app.use(Lazyload)

  app.use(router)
  app.mount('#app')
}
